﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Web;
//using System.Web.Mvc;
//using EmoneyWeiXinEntity;
//using EmoneyWeiXinCommon;
//using EmoneyWeiXinBLL;
//using ActivtyUI.App_Code;
//using System.Data;
//using System.Threading;
//using System.Diagnostics;

//namespace ActivtyUI.Controllers
//{
//    public class BieCaiBaiKuaiController : Controller
//    {
//        //
//        // GET: /BieCaiBaiKuai/
//        MemcachedTools1 mmtols = new MemcachedTools1();
//        const string top10ChengjiKey = "BieCaiBaiKuai_top10ChengjiKey";
//        string activityUserMemKeyPreFix = "activityUserMemKey0012";
//        string OpenID = null;
//        string weixinID = null;

//        weixinUserEntity wxInfo
//        {
//            get
//            {
//                weixinUserEntity temp = new weixinUserEntity
//                {
//                    AppSecret = System.Configuration.ConfigurationManager.AppSettings["AppSecret"],
//                    id = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["WeiXinId"]),
//                    AppId = System.Configuration.ConfigurationManager.AppSettings["AppId"],
//                    title = (System.Configuration.ConfigurationManager.AppSettings["wxTitle"] == null ? "益盟股票分析" : System.Configuration.ConfigurationManager.AppSettings["wxTitle"])
//                };
//                return temp;
//            }

//        }
//        OAuth2Helper.WeiXinUserInfo _CurrentUserInfo;
//        OAuth2Helper.WeiXinUserInfo CurrentUserInfo
//        {
//            get
//            {
//                if (_CurrentUserInfo != null)
//                {
//                    return _CurrentUserInfo;
//                }
//                else
//                {
//                    _CurrentUserInfo = mmtols.Get(activityUserMemKeyPreFix + this.OpenID) as OAuth2Helper.WeiXinUserInfo;
//                    return _CurrentUserInfo;
//                }
//            }
//        }


//        protected override void Initialize(System.Web.Routing.RequestContext requestContext)
//        {
//            OpenID = requestContext.HttpContext.Request["openId"] == null ? requestContext.HttpContext.Request["openid"] : requestContext.HttpContext.Request["openId"];
//            base.Initialize(requestContext);
//        }

//        public ActionResult Index()
//        {
//            if (System.Configuration.ConfigurationManager.AppSettings["isOpen"] != "1")
//            {
//                return Content("活动还没开始哦，敬请期待！");
//            }

//            string access_token = Request["access_token"];
//            string openId = Request["openid"];
//            string fromOpenId = Request["fromOpenId"];
//            SaveCurrentUserInfo(access_token, openId);
//            if (CurrentUserInfo == null || CurrentUserInfo.nickname == null || CurrentUserInfo.headimgurl == null)
//            {
//                return Content("没有获取到用户数据请刷新页面重试！");
//            }
//            if (fromOpenId != null && fromOpenId != openId) //如果是分享过来的链接
//            {
//                ActivityDataBLL.AddActivityShareUrlRecord(fromOpenId, openId, EmoneyWeiXinCommon.ConstName.BiecaibaikuaiName);
//            }
//            MyTrace.get().add("access_token:" + access_token + " fromOpenId:" + fromOpenId);

//            MyTrace.get().add("access_token:" + access_token + "  获取到的用户：" + CurrentUserInfo.nickname);

//            if (this.OpenID != null)
//            {

//                //判断是否已经玩过该游戏，如果已经存在记录，则直接跳转到账户页面。
//                var actEntity = ActivityDataBLL.GetOne(this.OpenID, wxInfo.AppId, EmoneyWeiXinCommon.ConstName.BiecaibaikuaiName);
//                if (actEntity != null)
//                {
//                    TempData["actEntity"] = actEntity;
//                    return RedirectToAction("AccountPage", new { openId = openId });
//                }
//                ViewBag.openId = this.OpenID;
//                ViewBag.wxInfo = this.wxInfo;
//                InitSharas(Request.RawUrl);
//            }
//            else
//            {
//                return Content("缺少参数");
//            }
//            return View();
//        }

//        public ActionResult GamePage()
//        {

//            return View();
//        }
//        [HttpPost]
//        public ActionResult ReceiptScore()
//        {
//            try
//            {
//                if (Request["fenshu"] == null && Request["openId"] == null)
//                {
//                    return Content("提交出错!");
//                }
//                else
//                {
//                    int fenshu = int.Parse(Request["fenshu"]);
//                    if (fenshu > 200)
//                    {
//                        return Content("分数异常！");
//                    }
//                    //   ActivityDataBLL.InsertActivityData(this.OpenID, fenshu * 10, EmoneyWeiXinCommon.ConstName.BiecaibaikuaiName, true, fenshu * 1.0 / 100, CurrentUserInfo);
//                }
//                return Content("");
//            }
//            catch (Exception ex)
//            {
//                return Content(ex.Message);
//            }

//        }


//        //账户页面
//        public ActionResult AccountPage()
//        {

//            if (this.OpenID == null)
//            {
//                return Content("缺少参数");
//            }
//            ViewBag.weixinId = this.weixinID;
//            ViewBag.openId = this.OpenID;
//            InitSharas(Request.RawUrl);
//            List<ActivityDataEntity> tempLst = null;
//            //MyTrace.get().add("url:" + url);
//            object mmData = mmtols.Get(top10ChengjiKey); //从缓存中取出
//            if (mmData == null)
//            {
//                tempLst = ActivityDataBLL.GetDataTop10(this.OpenID, EmoneyWeiXinCommon.ConstName.BiecaibaikuaiName);
//                mmtols.Add(top10ChengjiKey, tempLst, 0, 2, 0); //前十名的数据缓存2分钟
//            }
//            else
//            {
//                tempLst = mmData as List<ActivityDataEntity>;
//            }
//            ViewBag.topList = tempLst;
//            if (TempData["actEntity"] == null)
//            {
//                ViewBag.currData = ActivityDataBLL.GetOne(this.OpenID, this.weixinID, EmoneyWeiXinCommon.ConstName.BiecaibaikuaiName);
//            }
//            else
//            {
//                ViewBag.currData = TempData["actEntity"];
//            }
//            ViewBag.wxInfo = this.wxInfo;
//            return View();
//        }

//        private void InitSharas(string rawUrl)
//        {
//            var timestamp = WeiXinJsSign.getTimestamp();
//            var nonceStr = WeiXinJsSign.getNoncestr();
//            ViewBag.timestamp = timestamp;
//            ViewBag.nonceStr = nonceStr;
//            string url = Config.Host_Url2 + rawUrl;
//            ViewBag.signature = WeiXinJsSign.getWxSign(nonceStr, timestamp, this.wxInfo, url);
//        }
//        [HttpPost]
//        public ActionResult TiXian()
//        {
//            if (this.OpenID != null)
//            {

//                double money;
//                string result;
//                ActivityDataBLL.LockRedBag(this.OpenID, EmoneyWeiXinCommon.ConstName.BiecaibaikuaiName, out money, out result);
//                if (result == "")
//                {
//                    if (this.wxInfo != null)
//                    {
//                        string orderNum = "";
//                        string sendMessage;
//                        //因为接口的单位是分，所以用money*100
//                        string sendBagResult = "";
//                        if (System.Configuration.ConfigurationManager.AppSettings["isrealySendBag"] == "1")
//                        {
//                            // sendBagResult = WeiXinPayBLL.sendRedBag(this.OpenID, money * 100, out orderNum, this.wxInfo, out sendMessage);
//                        }
//                        MyTrace.get().add("sendBagResult：" + sendBagResult + ",money:" + money + ", openId:" + OpenID);
//                        ActivityDataBLL.UpadateRedBag2getted(this.OpenID, EmoneyWeiXinCommon.ConstName.BiecaibaikuaiName, sendBagResult == "", money);
//                        if (sendBagResult == "")
//                        {
//                            return Content("提现成功");
//                        }
//                        else
//                        {
//                            return Content("红包提取失败,请稍后重试！");
//                        }
//                    }
//                    else
//                    {
//                        return Content("红包提取失败,请稍后重试！");
//                    }
//                }
//                else
//                {
//                    return Content(result);
//                }

//            }
//            else
//            {
//                return Content("缺少参数");
//            }

//        }




//        private void SaveCurrentUserInfo(string access_token, string openId)
//        {
//            OAuth2Helper.WeiXinUserInfo userInfo = OAuth2Helper.GetwxUserInfo(access_token, openId);
//            if (userInfo != null)
//            {
//                mmtols.Add(activityUserMemKeyPreFix + openId, userInfo, 5, 0, 0);
//            }
//        }


//    public ActionResult BufaHongbao()
//       {
//            //DataTable dt = ActivityDataDAL.SelectTempRedBag();
//            //foreach (DataRow dr in dt.Rows)
//            //{
//            //    string sendResult;
//            //    string orderNum = "";
//            //    string sendMessage;
//            //    double money = Convert.ToDouble(dr["T_money"]);
//            //    string currOpenId = dr["openId"].ToString();
//            //    sendResult = WeiXinPayBLL.sendRedBag(currOpenId, money * 100, out orderNum, this.wxInfo, out sendMessage);
//            //    if (sendResult == "")
//            //    {
//            //        ActivityDataDAL.UpdateTempRedBag2IsGetted(dr["ID"].ToString(), orderNum);
//            //    }

//            //}
//           // List<string> openids = new List<string>()
//           // {
               

//           // };
//           // string failId = "";
//           // foreach (var item in openids)
//           // {
//           //     string sendResult;
//           //     string orderNum = "";
//           //     string sendMessage;
//           //     sendResult = WeiXinPayBLL.sendRedBag(ActCommon.GetSendRedPackConfigByActName("CaiTu"), item, 1 * 100, out orderNum, out sendMessage);
//           //     if (sendResult != "")
//           //     {
//           //         failId += "\"" + item + "\",";
//           //     }

//           // }
//           string sendResult;
//           string orderNum = "";
//           string sendMessage;
//           sendResult = WeiXinPayBLL.sendRedBag(ActCommon.GetSendRedPackConfigByActName("DailyTaskHGP"), "otfN4s4QyNwq9wSHc9OiA_4U_pw4", 150 * 100, out orderNum, out sendMessage);
//           return Content("");
//      }






//    }
//}
